`
https://leetcode.cn/problems/power-of-two/
`

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function (n) {
  // n & (n-1) 这个操作在算法中比较常见，作用是消除数字 n 的二进制表示中的最后一个 1
  // 如果是 2 的幂，则二进制里只有一个 1，消除后变成 0
  if (n <= 0) return false;
  return (n & (n - 1)) === 0;
};

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfTwo = function (n) {
  // n & -n 这个操作会提取出数字 n 的二进制表示中的最低位的 1
  // 如果 n 是 2 的幂，则二进制里只有一个 1，提取出来的结果应该还是 n 本身
  if (n <= 0) return false;
  return (n & -n) === n
};